Computer readable recording medium, information processing apparatus, and information processing method

ABSTRACT

An information processing apparatus includes: a data sharing unit configured to cause an application selected as a data output destination to process data which is output by an application which is a data output source; a process-object-data generation control unit configured to generate process object data in one of a first format and a second format based on image data acquired by an image information interface from an image information source; and an application-information display unit configured to display identification images for identifying applications which the data sharing unit can select as the data output destination if the data sharing unit is to process either data of the first format or data of the second format.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.14/623,187, filed Feb. 16, 2015, which is a continuation of U.S. patentapplication Ser. No. 13/422,375, filed Mar. 16, 2012, which claims thebenefit of priority of Japanese Patent Application No. 2011-069000 filedon Mar. 25, 2011, the contents of all applications are incorporatedherein by reference in its entirety.

BACKGROUND

The present disclosure relates to a computer readable recording mediumstoring an information processing program, an information processingapparatus, and an information processing method.

In portable terminals, there are portable terminals having a functioncalled ‘sharing function’. The sharing function is a function ofproviding data processed in one application to another application, andmaking the anther application process the data. For example, in a casewhere image data is obtained by imaging of a digital camera built in aportable terminal, and a JPEG file is generated from the image data by acamera application, for example, the JPEG file can be provided to ane-mail application by the sharing function such that the JPEG file canbe transmitted as an attachment of an e-mail. As described above,according to the sharing function, it is possible to make a plurality ofapplications cooperate with one another such that a wide variety ofprocesses can be performed in the portable terminal. Further, theapplication that is capable of processing JPEG files is not limited tothe e-mail application. There may be a plurality of kinds ofapplications that is capable of processing JPEG files. For example, atechnology for activating different JPEG applications according tofolders including JPEG files stored therein is known.

SUMMARY

However, in the related art, any application for appropriatelyprocessing scan data, which is output by a scanner, in a portableterminal has not existed. For example, a camera application handlesphoto data obtained by imaging of the digital camera, and thus isconfigured to save (store) the data, uniformly as JPEG format files. Incontrast, a scanner can generate scan data from various documents suchas a photo image or a text, and thus it may not be necessarilyappropriate to store the scan data in a JPEG format.

As described above, in order to appropriately process various image datasuch as scan data, it is desired to provide an application which has ahigh degree of usability and is capable of coping with forms of use andsituations which has not been supposed in the camera applicationaccording to the related art.

An aspect of the present disclosure was made to solve theabove-mentioned problem, and an object is to provide an informationprocessing program, an information processing apparatus, and aninformation processing method having a high degree of usability.

The aspect of the present disclosure provides the followingarrangements.

A non-transitory computer readable recording medium storing aninformation processing program to be executed by a computer of aninformation processing apparatus including a display unit and a datasharing unit configured to cause an application selected as a dataoutput destination to process data which is output by an applicationwhich is a data output source, the information processing programcomprising:

a process-object-data generation control instruction that causes thecomputer to generate process object data in one of a first format and asecond format based on image data acquired by an image informationinterface from an image information source; and

an application-information display control instruction that causes thedisplay unit to display identification images for identifyingapplications which the data sharing unit can select as the data outputdestination if the data sharing unit is to process either data of thefirst format or data of the second format.

An information processing apparatus comprising:

a data sharing unit configured to cause an application selected as adata output destination to process data which is output by anapplication which is a data output source;

a process-object-data generation control unit configured to generateprocess object data in one of a first format and a second format basedon image data acquired by an image information interface from an imageinformation source; and

an application-information display unit configured to displayidentification images for identifying applications which the datasharing unit can select as the data output destination if the datasharing unit is to process either data of the first format or data ofthe second format.

An information processing method which is performed in an informationprocessing apparatus including a data sharing unit configured to causean application selected as a data output destination to process datawhich is output by an application which is a data output source, theinformation processing method comprising:

generating process object data in one of a first format and a secondformat based on image data acquired by an image information interfacefrom an image information source; and

displaying identification images for identifying applications which thedata sharing unit can select as the data output destination if the datasharing unit is to process either data of the first format or data ofthe second format.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an electrical configuration of aportable terminal having a device control application installed therein,according to a first embodiment.

FIGS. 2A and 2B are views illustrating sharing functions.

FIG. 3 is a view illustrating screen transitions in the portableterminal.

FIGS. 4A and 4B are a flow chart illustrating a scan process of thefirst embodiment.

FIG. 5 is a flow chart illustrating an output-destination-candidatedisplay process of the first embodiment.

FIG. 6 is a flow chart illustrating an output-destination-candidatedisplay process of a second embodiment.

FIGS. 7A and 7B are a flow chart illustrating a scan process of a thirdembodiment.

FIG. 8 is a flow chart illustrating an advance supporting-applicationsearch process.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

Hereinafter, embodiments will be described with reference to theaccompanying drawings. FIG. 1 is a block diagram illustrating anelectrical configuration of a portable terminal 10 having a devicecontrol application 14 b (hereinafter, referred to as a presentapplication 14 b) installed therein, according to a first embodiment ofthe present embodiment.

The portable terminal 10 is a portable phone that enables a voice callwith another device through a portable-phone network 100 or can use theInternet. Further, the portable terminal 10 performs wirelesscommunication with the device 30 by an infrastructure mode through anaccess point 50. The portable terminal 10 includes a CPU 11, a ROM 12, aRAM 13, a flash memory 14, a wireless LAN transceiver 15, manipulationkeys 16, a touch panel 17, a liquid crystal display 18 (hereinafter,referred to as an LCD 18), a memory card interface 19 (hereinafter,referred to as a memory card I/F 19), a voice input/output unit 21, anda telephone network communication unit 22. These components areconnected to one another through bus lines 23.

The CPU 11 controls each of the units connected to the bus lines 23, inaccordance with fixed values, programs, and the like stored in the ROM12 or the like. The ROM 12 is a non-volatile memory which is rewritable,and the RAM 13 is a volatile memory which is not rewritable. The flashmemory 14 is a non-volatile memory which is rewritable, and stores anoperating system 14 a (hereinafter, referred to as an OS 14 a), thepresent application 14 b, and a plurality of kinds of other applications(not shown). The OS 14 a is basic software for implementing the standardfunctions of the portable terminal 10, and is an Android (registered asa trademark) OS in the present embodiment. The device controlapplication 14 b is provided by a vendor of the device 30, and isinstalled in the portable terminal 10 by the user.

Hereinafter, the CPU 11 which executes a program such as an application,an operating system, or the like may be referred to simply as the nameof the program. For example, a term ‘application’ may mean ‘the CPU 11that executes an application’.

Applications use the API of the OS 14 a installed in the portableterminal 10 to implement a sharing function (intent function) ofproviding and receiving data between the applications. The presentapplication 14 b installed in the portable terminal 10 is for allowing auser to directly use the printing function and scanning function of adevice 30 from the portable terminal 10, without passing through apersonal computer or the like. Particularly, the present application 14b is configured to have a high degree of usability in a case ofproviding scan date, acquired from the device 30, to another applicationby the sharing function.

The wireless LAN transceiver 15 is a circuit for making a Wi-Fi(registered as a trademark) connection between the portable terminal 10and another device by a wireless LAN based on the standards of IEEE802.11b and 802.11g. The portable terminal 10 is wirelessly connectedwith the device 30 through the access point 50 by the wireless LANtransceiver 15.

The manipulation keys 16 are hard keys provided to the housing of theportable terminal 10, and are used for inputting option information orinstructions to the portable terminal 10. The touch panel 17 is providedto overlap the LCD 18, and is used for inputting option information andinstructions to the portable terminal 10. The LCD 18 displays variousmanipulation screens, and images based on selected data. The memory cardI/F 19 is an interface for installing a non-volatile memory card 20, andcontrols writing or reading of data on the memory card 20. The memorycard 20 may be an SD card (registered as a trademark). In the presentembodiment, the present application 14 b converts scan data receivedfrom the device 30 into a PDF format file (hereinafter, referred to asPDF data) or a JPEG format file (hereinafter, referred to as JPEG data),and stores the converted data in the memory card 20.

The voice input/output unit 21 is a unit which is for voice input andoutput and includes a microphone, a speaker, and so on, and thetelephone network communication unit 22 is a circuit for performingcommunication through the portable-phone network 100. The portable-phonenetwork 100 is a communication network based on international mobiletelecommunication-2000 (IMT-2000), and enables use of a voice callthrough the portable terminal 10.

Each of the applications (including the present application 14 b)installed in the portable terminal 10 calls the API of the OS 14 a, andoutputs data for each component of the portable terminal 10, such as thewireless LAN transceiver 15, the manipulation keys 16, the touch panel17, the LCD 18, the memory card I/F 19, the voice input/output unit 21,and the telephone network communication unit 22, to the OS 14 a. Inother words, each application controls each component of the portableterminal 10 by calling the API of the OS 14 a. Further, each applicationcalls the API of the OS 14 a, and acquires data output from eachcomponent of the portable terminal 10, and data representing a status ofeach component, from the OS 14 a. That is, each application acquiresdata representing a status of each component of the portable terminal 10(including a status of manipulation input to the portable terminal 10),from the OS 14 a, by calling the API of the OS 14 a. The OS 14 a maynotify the data which each component of the portable terminal 10outputs, and the data representing the status of each component, to eachapplication, regularly or whenever the status of each component changes.In other words, each application receives the notification from the OS14 a, thereby acquiring the data representing the status of eachcomponent of the portable terminal 10 (including the status of themanipulation input to the portable terminal 10) from the OS 14 a.

The device 30 is a multi-function device having a printer function, ascanning function, a copy function, and the like, includes a wirelessLAN transceiver (not shown) having the same configuration as that of thewireless LAN transceiver 15 of the portable terminal 10, and makes aWi-Fi connection with the portable terminal 10 by wireless communicationthrough the access point 50. Further, the device 30 is controlled by thepresent application 14 b of the portable terminal 10, such that thedevice 30 prints images based on data received from the portableterminal 10, or reads a document to generate scan data and transmits thescan data to the portable terminal 10.

The sharing function that is implemented by using the API of the OS 14 aof the portable terminal 10 will be described with reference to FIGS. 2Aand 2B. The sharing function is a function of making a data outputdestination application process data which is output by a data outputsource application. Examples of the sharing function include an implicitsharing function and an explicit sharing function. FIG. 2A is a viewillustrating an implicit sharing function, and shows a process flow in acase where a data output source application (hereinafter, referred to asa sharing source application 60) makes a request to the OS 14 a toperform the implicit sharing function.

As shown in FIG. 2A, in the implicit sharing function, the sharingsource application 60 calls the API of the OS 14 a, and makes a requestto the OS 14 a to perform the sharing function (see (1) of FIG. 2A).This request includes the uniform resource identifier (URI) and type ofdata (hereinafter, referred to as shared data) to be processed inanother application process by the sharing function, and an action. TheURI is information representing the location of the shared data, and iscomposed of a file path in the present embodiment. The type isinformation which designates the format of the shared data, and theaction is information which designates the kind of a process. The OS 14a searches all applications (hereinafter, referred to as all application62) installed in the portable terminal 10 for candidates for a dataoutput destination application (hereinafter, referred to as a sharingdestination application 64), by using the type and the action notifiedfrom the sharing source application 60, as search criteria (see (2) ofFIG. 2A).

Each application installed in the portable terminal 10 declares a typewhich designates a format which the corresponding application canprocess, and an action which designates the kind of an executableprocess, in advance. Therefore, the OS 14 a searches all application 62by using the type and the action notified from the sharing sourceapplication 60 as the search criteria. Then, OS 14 a extractsapplications which can process data having the format designated by thetype notified from the sharing source application 60, and support thekind of the process designated by the action notified from the sharingsource application 60, and acquires identification information of theextracted applications. The developer of each application can freely setthe type and the action which the corresponding application declares.For this reason, each application may declare a process which thecorresponding application cannot actually perform, as the action.Therefore, an application supporting the type of the process which isdesignated by the action notified from the sharing source application 60means an application that declares the same action as the actionnotified from the sharing source application 60, and is not required toactually perform the corresponding process.

Next, the OS 14 a makes the LCD 18 display a list of the searchedapplications, that is, the applications which are candidates for thesharing destination application 64 (see (4) of FIG. 2A). Then, if a userselects any one application as the sharing destination application 64from the list (see (5) of FIG. 2A), the OS 14 a activates the sharingdestination application 64, sets a screen of the sharing destinationapplication 64 in the foreground (forefront), and notifies the URI andtype of the shared data, and the action notified from the sharing sourceapplication 60, to the sharing destination application 64 (see (6) ofFIG. 2A).

As a result, the screen of the sharing destination application 64selected by the user is displayed in the foreground, and the sharingdestination application 64 accesses the shared data specified by thenotified URI, and performs the process according to the value of theaction. The sharing destination application 64 may perform variousexecutable processes on the shared data. For example, the sharingdestination application 64 may display the shared data, or transmit theshared data as an attachment of an e-mail, or edit the shared data.

FIG. 2B is a view illustrating the explicit sharing function, and showsa process flow in a case where the sharing source application 60 makes arequest to the OS 14 a to perform the explicit sharing function.

As shown in FIG. 2B, in the explicit sharing function, the sharingsource application 60 calls the API of the OS 14 a, and makes a requestto the OS 14 a to display a list of candidates for a sharing destinationapplication 64 (see (21) of FIG. 2B). This request includes the type ofshared data and an action. The OS 14 a searches all application 62installed in the portable terminal 10 for candidates for the sharingdestination application 64, by using the type and action notified fromthe sharing source application 60, as the search criteria, (see (22) ofFIG. 2B), and acquires the identification information of applicationssatisfying the search criteria (see (23) of FIG. 2B).

Next, the OS 14 a makes the LCD 18 display a list of the candidates forthe sharing destination application 64 found by the searching (see (24)of FIG. 2B). Then, if the user selects any one application (see (25) ofFIG. 2B), the OS 14 a returns an intent including the identificationinformation of the selected application, and the type and the actionused as the search criteria (see (26) of FIG. 2B). If receiving theintent from the OS 14 a, the sharing source application 60 calls the APIof the OS 14 a, designates the identification information of theselected application included in the intent, the URI and type of theshared data, and the action, and makes a request to OS 14 a to performthe sharing function (see (27) of FIG. 2B). The OS 14 a activates theapplication (the sharing destination application 64) designated from thesharing source application 60, sets the screen of the sharingdestination application 64, and notifies the sharing destinationapplication 64 of the URI and type of the shared data and the actionnotified from the sharing source application 60.

That is, a sharing function which enables the sharing source application60 to notify the OS 14 a of the URI of the shared data and so on withoutrecognizing the sharing destination application 64 is called theimplicit sharing function, and a sharing function which enables thesharing source application 60 to designate the sharing destinationapplication 64 and notify the OS 14 a of the URI of the shared data andso on is called the explicit sharing function. The present application14 b will be described on the assumption that the present application 14b uses the explicit sharing function of the OS 14 a.

FIG. 3 is a view illustrating screen transitions in a case where theuser instructs sharing of scan data acquired from device 30 when thescreen of the present application 14 b is being displayed in theforeground.

If acquiring a scan data item from the device 30, the presentapplication 14 b makes the LCD 18 display a scan-result confirmationscreen 70 including a scan image 71 corresponding to the scan data item.

The scan-result confirmation screen 70 further includes a page displayarea 72, a sharing button 74, and a saving button 76. The page displayarea 72 is an area for displaying the total number of pages of adocument read in the device 30, and a page number representing the pagenumber of the document corresponding to a currently displayed scan image71.

The sharing button 74 is an area for inputting an instruction to performthe sharing function. If the user touches the sharing button 74, thescan data item corresponding to the currently displayed scan image 71 isdetermined as shared data.

The saving button 76 is an area for inputting an instruction to performa saving function. If the user touches the saving button 76, the scandata item corresponding to the currently displayed scan image 71 issaved. Specifically, the scan data item is converted into a data itemhaving a predetermined format, the API of the OS 14 a is called, and theconverted data item is saved in the memory card 20.

If the user touches the sharing button 74 on the scan-resultconfirmation screen 70, a currently displayed scan-result confirmationscreen 70 on the LCD 18 transitions to a format selection screen 77 ofthe present application 14 b. On the format selection screen 77, only aformat selection area 78 is manipulable, and the sharing button 74 andthe saving button 76 are grayed out so as not to be manipulable.

The format selection area 78 includes options for enabling the user toselect any one of a PDF format and a JPEG format. The user selects adesired format to be used for sharing the scan data item with anotherapplication, and touches the option of the desired format to select thedesired format.

If the user performs selection manipulation on the format selectionscreen 77 so as to select any one format, the format selection screen 77on the LCD 18 transitions to a screen 79 during processing. While thescreen 79 during processing is being displayed, a process object dataitem is generated in the selected format, the API of the OS 14 a iscalled, and the process object data item is saved in the memory card 20.Further, while the screen 79 during processing is being displayed, anyuser' manipulation is not acceptable.

After the process object data item is generated, the present application14 b calls the API of the OS 14 a, designates the type of the processobject format and an action, and make a request to OS 14 a to display alist of candidates for the sharing destination application 64. That is,the process shown by (21) of FIG. 2B is performed.

If receiving the list display request, the OS 14 a searches forcandidates for the sharing destination application 64 (FIG. 2B), andmakes the LCD 18 to display a sharing-destination-application listscreen 81 including the listed names 82 of the found applications, suchthat applications selectable as a data destination according the sharingfunction are shown in a list. Then, the user selects a desiredapplication as the sharing destination application 64, from thedisplayed candidates. Therefore, the user can simply convert a scan dataitem acquired from the device 30 into a data item having a desiredformat, and select an appropriate sharing destination application 64from a list of applications capable of processing the data item havingthe desired format. That is, the user can make the present application14 b and another application cooperate with each other by simplemanipulation and a free combination, such that the scan data itemacquired from the device 30 can be used in various forms, and thus thedegree of usability is high.

FIG. 4 is a flow chart illustrating a scan process of the CPU 11 of theportable terminal 10 according to the present application 14 b. The scanprocess starts if the user instructs scanning from a manipulationreceiving screen (not shown) of the present application 14 b. It isassumed that the present application 14 b makes the CPU 11 perform eachstep of flow charts of FIGS. 4 to 8 (to be described below) directly orthrough the functions of the OS 14 a and the like. Some of steps of eachthe flow chart may be replaced with steps which the OS 14 a or anotherapplication makes the CPU 11 perform. Alternatively, some of the stepsof each flow chart may be replaced with steps which are implemented byoperation of hardware provided in the portable terminal 10 withoutinvolvement of the CPU 11.

First, in STEP S402, the CPU 11 instructs the device 30 to transmit scandata, from the wireless LAN transceiver 15. According to the instructionof the portable terminal 10, the device 30 scans a document to generatescan data, and transmit the scan data to the portable terminal 10. Theportable terminal 10 temporarily stores the scan data received from thedevice 30, in the RAM 13. In the present embodiment, the scan data isuncompressed or decompressed raw image data. Until the device 30completes the scanning (in a case of No in STEP S404), the CPU 11 standsby.

If the device 30 completes the scanning (Yes in STEP S404), in STEPS406, the CPU 11 makes the LCD 18 display a scan-result confirmationscreen 70 (FIG. 3). Then, if there is no manipulation input (No in STEPS408), the CPU 11 stands by. Meanwhile, if the manipulation keys 16 orthe touch panel 17 is manipulated (Yes in STEP S408), and an instructionto perform a function other than the sharing function is input (No inSTEP S410), in STEP S412, the CPU 11 performs each process (for example,a process of saving the scan data) according to the manipulation input.Then, the CPU 11 finishes the scan process.

Meanwhile, if an instruction to perform the sharing function is input(Yes in STEP S410), in STEP S414, the CPU 11 makes the LCD 18 displaythe format selection screen 77, so as to enable the user to select anyone of the JPEG format and the PDF format. Various documents such as aphoto image or a text can be read in the device 30. Therefore, in orderto generate data in a format appropriate for the contents of the scandata, the user is enabled to select any one format.

Until any format is selected (in a case of No in STEP S416), the CPU 11stands by. Meanwhile, if the touch panel 17 receives an instruction todesignate the PDF format (‘PDF’ in STEP S416), in STEP S430, the CPU 11generates PDF data from the scan data acquired from the device 30. In acase where a document of a plurality of pages is scanned in the device30, the portable terminal 10 acquires a plurality of scan data itemsfrom the device 30. In this case, the CPU 11 generates one PDF data itemincluding data of the plurality of pages, from the plurality of scandata items.

Meanwhile, in a case where the touch panel 17 receives an instruction todesignate the JPEG format (‘JPEG’ in STEP S416), if one scan data itemis acquired from the device 30, that is, if a document of one page hasbeen scanned in the device 30 (No in STEP S418), in STEP S428, the CPU11 generates one JPEG data item from the scan data item.

Meanwhile, in a case where a plurality of scan data items is acquiredfrom the device 30, for example, in a case where a document of aplurality of pages has been scanned in the device 30 (Yes in STEP S418),in STEP S420, the CPU 11 generates one JPEG data item from each of theplurality of scan data items so as to generate a plurality of JPEG dataitems.

Next, in STEP S422, the CPU 11 makes the LCD 18 display the screen 79during processing. Then, while each process object data item is beinggenerated (each JPEG data item is being generated in STEP S420 or STEPS428 or each PDF data item is being generated in STEP S430) (No in STEPS424), the CPU 11 repeats the scan process from STEP S422. In thepresent embodiment, generating of each process object data item is aprocess of generating a file, constituting the corresponding processobject data item, in the memory card 20, writing the correspondingprocess object data item in the file, and closing the file. Meanwhile,if the generating of the process object data item is completed (Yes inSTEP S424), in STEP S426, the CPU 11 performs anoutput-destination-candidate display process, so as to make the LCD 18display the sharing-destination-application list screen 81 (FIG. 3).Then, the CPU 11 finishes the scan process. Theoutput-destination-candidate display process (STEP S426) will bedescribed below with reference to FIG. 5.

According to the scan process of the present embodiment, after everyprocess object data item selected by the user is generated, thesharing-destination-application list screen 81 is displayed on the LCD18. In other words, before the sharing-destination-application listscreen 81 is displayed, the generating of every process object data itemis completed.

Therefore, at the time when the application selected as the sharingdestination application 64 from the sharing-destination-application listscreen 81 by the user processes the process object data which is theshared data, the process object is already prepared in the memory card20 and is accessible by the sharing destination application 64.Therefore, it is possible to reliably make the sharing destinationapplication 64 process the process object data.

Also, according to the present embodiment, since data is generated onlyin the format (process data format) selected by the user, it is possibleto omit generating of data in an unnecessary format, and thus to reducea process load.

Further, since general-purpose PDF data or JPEG data is generated fromlow-compatibility raw image data, and is processed in the sharingdestination application, it is possible to select various applicationsas the sharing destination application 64. In other words, it ispossible to use the scan data acquired from the device 30 in a widevariety of forms.

Furthermore, in a case where an instruction to perform the sharingfunction is input, the format selection screen 77 is displayed.Therefore, it is possible to show the user that it is possible to selecta desired format from a plurality of formats, and thus the usability ishigh.

FIG. 5 is a flow chart illustrating an output-destination-candidatedisplay process (STEP S426). This process is for calling the API of theOS 14 a, searching for candidates for the sharing destinationapplication 64, and making the LCD 18 display thesharing-destination-application list screen 81 (FIG. 3). As describedwith reference to FIG. 4, this process starts after the generating ofthe process object data is completed.

First, in STEP S502, the CPU 11 designates the process object datagenerated in the memory card 20, as the shared data. In a case where theformat of the shared data is PDF (‘PDF’ in STEP S504), in STEP S514, theCPU 11 sets ‘PDF’ as the type, and in STEP S516, the CPU 11 sets ‘VIEW’as the action.

Next, in STEP S518, the CPU 11 calls the API of the OS 14 a, designatesthe type and the action set in STEP S514 or STEP S516, and makes arequest to the OS 14 a to display the sharing-destination-applicationlist screen 81. As a result, the OS 14 a searches for applicationsdeclaring ‘PDF’ and ‘VIEW’ as the type and the action, respectively, anddisplays the names 82 of the found applications on thesharing-destination-application list screen 81. The action ‘VIEW’ is anaction representing a data display process, and most applicationsdeclare the action ‘VIEW’. Therefore, if ‘VIEW’ is designated as theaction, it is possible to display more applications on thesharing-destination-application list screen 81.

Then, until any intent is received from the OS 14 a (in a case of No inSTEP S520), the CPU 11 stands by. If the sharing destination application64 is selected on the sharing-destination-application list screen 81,and an intent including the identification information of the sharingdestination application 64 is received from the OS 14 a (Yes in STEPS520), in STEP S522, the CPU 11 calls the API of the OS 14 a, designatesthe identification information of the sharing destination application64, the URI of the shared data, and the same type and action as thosedesignated in STEP S518, and makes a request to the OS 14 a to performthe sharing function (explicit sharing function). In other words, theCPU 11 notifies the OS 14 a of the URI of the process object data whichis the shared data, and finishes the output-destination-candidatedisplay process.

Meanwhile, in a case where the format of the shared data is JPEG (‘JPEG’in STEP S504), in STEP S506, the CPU 11 sets ‘JPEG’ as the type. Next,in a case where the number of items of the JPEG data designated as theshared data is one (No in STEP S508), in STEP S510, the CPU 11 sets‘VIEW’ as the action. Then, in STEP S518, the CPU 11 designates the typeand the action designated in STEP S506 and STEP S510, respectively, andmakes a request to the OS 14 a to display thesharing-destination-application list screen 81. In this case, the OS 14a searches for applications declaring the type ‘JPEG’ and the action‘VIEW’, and displays the names 82 of the found applications on thesharing-destination-application list screen 81.

Meanwhile, in a case where the number of items of the JPEG datadesignated as the shared data is two or more (Yes in STEP S508), in STEPS512, the CPU 11 sets ‘SEND_MULTI’ as the action. Then, in STEP S518,the CPU 11 designates the type and the action designated in STEP S506and STEP S512, respectively, and makes a request to the OS 14 a todisplay the sharing-destination-application list screen 81. In thiscase, the OS 14 a searches for applications declaring the type ‘JPEG’and the action ‘SEND_MULTI’, and displays the names 82 of the foundapplications on the sharing-destination-application list screen 81.Here, the action ‘SEND_MULTI’ is an action representing transmission ofa plurality of data items, and is declared only by applications capableof processing a plurality of data items. Therefore, the user can selectan application capable of processing a plurality of JPEG data items fromthe sharing-destination-application list screen 81.

Next, in a case where an intent is received from the OS 14 a (Yes inSTEP S520), in STEP S522, the CPU 11 calls the API of the OS 14 a,designates the identification information of the sharing destinationapplication 64, the URI of the shared data, and the same type and actionas those designated in STEP S518, makes a request to the OS 14 a toperform the sharing function. Then, the CPU 11 finishes theoutput-destination-candidate display process. In a case where the numberof items of the JPEG data is two or more, the CPU 11 notifies the OS 14a of the URI of each of the plurality of items of the JPEG data as theURI of the shared data.

According to the output-destination-candidate display process of STEPS426, in a case where data having any one of the PDF format and the JPEGformat is processed by the sharing function, it is possible to make theuser visibly recognize the applications selectable as the data outputdestination according to the sharing function. In other words, the listof the applications capable of processing data having the formatselected from the PDF format and the JPEG format by the user isdisplayed on the LCD 18. Therefore, the usability is high. Further, in acase where the shared data is JPEG data, applications displayed on theLCD 18 when the number of items of the JPEG data is one can be differentfrom applications displayed on the LCD 18 when the number of items ofthe JPEG data is or two or more. Therefore, the usability is high.

Furthermore, after the process object data is generated, the URI of theprocess object data (that is, the shared data) is notified to the OS 14a. Therefore, it is possible to reliably make the sharing destinationapplication 64 process the process object data.

A second embodiment will be described with reference to FIG. 6. FIG. 6is a flow chart illustrating an output-destination-candidate displayprocess (STEP S426) according to the second embodiment. The presentapplication 14 b of the second embodiment is identical to the firstembodiment except that, instead of the output-destination-candidatedisplay process (FIG. 5) of the first embodiment, theoutput-destination-candidate display process (STEP S426) shown in FIG. 6is performed. The identical portion of the output-destination-candidatedisplay process (STEP S426) shown in FIG. 6 as that of theoutput-destination-candidate display process (FIG. 5) of the firstembodiment is denoted by the same step number, and the redundantdescription will not be repeated.

In the output-destination-candidate display process (STEP S426) of thesecond embodiment, in STEP S600, the CPU 11 calls the API of the OS 14a, designates the type and the action, and searches the applications.Specifically, the CPU 11 makes a request to the OS 14 a to search forapplications capable of data having the format designated by the typeset in STEP S506 or STEP S514 and supporting the kind of the processdesignated by the action designated in STEP S510, STEP S512, or STEPS516.

Next, if the number of applications found as the search result is two ormore (‘TWO OR MORE’ in STEP S602), in STEP S604, the CPU 11 generatesdata for displaying the sharing-destination-application list screen 81representing the applications of the search result on the LCD 18,designates that data, calls the API of the OS 14 a, and makes the OS 14a to display the sharing-destination-application list screen 81. Thatis, in the first embodiment, the sharing-destination-application listscreen 81 generated by the OS 14 a is displayed on the LCD 18. However,in the second embodiment, the sharing-destination-application listscreen 81 generated by the present application 14 b is displayed on theLCD 18. Then, until the user selects any one application (in a case ofNo in STEP S606), the CPU 11 stands by.

If the user selects any one application (Yes in STEP S606), in STEPS608, the CPU 11 determines the application selected by the user, as thesharing destination application 64, designates the identificationinformation of the sharing destination application 64, the URI of theshared data, the type, and the action, calls the API of the OS 14 a, andmakes a request to the OS 14 a to perform the sharing function. Then,the CPU 11 finishes the output-destination-candidate display process. Inthis case, the OS 14 a activates the designated sharing destinationapplication 64, notifies the URI of the shared data notified from thepresent application 14 b to the sharing destination application 64, andmakes the sharing destination application 64 process the shared data.Therefore, it is possible to obtain the same effects as those of thefirst embodiment.

Meanwhile, in a case where there is one application found as the searchresult (‘ONE’ in STEP S602), in STEP S610, the CPU 11 designates the oneapplication as the sharing destination application 64, withoutdisplaying the sharing-destination-application list screen 81,designates the identification information of the sharing destinationapplication 64, the URI of the shared data, the type, and the action,calls the API of the OS 14 a, and makes a request to the OS 14 a toperform the sharing function. Then, the CPU 11 finishes theoutput-destination-candidate display process. In this case, the userdoes not need to perform work to select the sharing destinationapplication 64. Therefore, it is possible to further improve theoperability, as compared to the first embodiment. In a case where thereis no application satisfying the criteria as the search result (‘NONE’in STEP S602), the CPU 11 makes the LCD 18 display an error in STEPS612, and finishes the output-destination-candidate display process.

A third embodiment will be described with reference to FIG. 7. FIG. 7 isa flow chart illustrating a scan process of a third embodiment. Thepresent application 14 b of the third embodiment is identical to thefirst embodiment except that, instead of the scan process (FIG. 4) ofthe first embodiment, the scan process shown in FIG. 7 is performed. Theidentical portion of the scan process shown in FIG. 7 as that of thescan process of the first embodiment described with reference to FIG. 4is denoted by the same step number, and the redundant description willnot be repeated.

In the scan process of the third embodiment, in STEP S702, an advancesupporting-application search process of searching for applicationscapable of processing JPEG data (hereinafter, JPEG supportingapplications), and searching for applications capable of processing PDFdata (hereinafter, PDF supporting applications) is performed, and if oneside of PDF supporting applications or JPEG supporting applications isfound by searching, an input of an instruction to perform the sharingfunction is acceptable.

FIG. 8 is a flow chart illustrating the advance supporting-applicationsearch process (STEP S702). In a case where one scan data item isacquired from the device 30 (NO in STEP S802), in STEP S804, the CPU 11searches for JPEG supporting applications and PDF supportingapplications. Specifically, the CPU 11 calls the API of the OS 14 a,designates ‘VIEW’ as the action, designates ‘JPEG’ or ‘PDF’ as the type,and makes a request to the OS 14 a to search for supportingapplications.

Meanwhile, in a case where a plurality of scan data items is acquiredfrom the device 30 (Yes in STEP S802), in STEP S806, the CPU 11 searchesfor PDF supporting applications and JPEG supporting applicationssupporting the plurality of items of the JPEG data. Specifically, theCPU 11 calls the API of the OS 14 a, designates the action ‘SEND_MULTI’and the type ‘JPEG’, and makes a request to the OS 14 a to search forapplications supporting the action and the type. Also, the CPU 11 callsthe API of the OS 14 a, designates the action ‘VIEW’ and the type ‘PDF’,and makes a request to the OS 14 a to search for applications supportingthe action and the type.

In a case where at least one side of the JPEG supporting applicationsand the PDF supporting applications is found by the searching (No inSTEP S808), in STEP S810, the CPU 11 sets a display flag for the sharingbutton 74 to ‘ON’. If only the present application 14 b (application'sown self) is found by the searching (Yes in STEP S814), the CPU 11 setsa display flag for a print button (not shown) to ‘ON’, in STEP S818, andfinishes the advance supporting-application search process. Meanwhile,if there is any supporting application other than the presentapplication 14 b (No in STEP S814), the CPU 11 sets the display flag forthe print button to ‘OFF’ in STEP S816, and finishes the advancesupporting-application search process.

Next, a case where there is no JPEG supporting application and PDFsupporting application found will be described. In this case (Yes inSTEP S808), the CPU 11 sets the display flag for the sharing button 74to ‘OFF’ in STEP S820, sets the display flag for the print button to‘ON’ in STEP S818, and finishes the advance supporting-applicationsearch process.

Referring to FIG. 7 again, a description will be made. Next, in STEPS703, the CPU 11 makes the LCD 18 display the scan-result confirmationscreen 70. Here, in a case where the display flag for the sharing button74 is in an ON state according to the advance supporting-applicationsearch process (FIG. 8), the sharing button 74 is displayed on thescan-result confirmation screen 70 (FIG. 3). In other words, in a casewhere at least one side of JPEG supporting applications and PDFsupporting applications has been found by the searching, that is, a casewhere there is any application selectable as the sharing destination, aninput of an instruction to perform the sharing function is acceptable.

Even when at least one side of JPEG supporting applications and PDFsupporting applications has been found by the searching, in a case whereonly the present application 14 b has been found by the searching, thedisplay flag for the print button is set to ‘ON’ according to theadvance supporting-application search process (FIG. 8). In this case, inthe process of STEP S703, not only the sharing button 74 but also theprint button (not shown) for receiving an print instruction aredisplayed on the scan-result confirmation screen 70 (FIG. 3).

Next, if the user performs manipulation input (Yes in STEP S408), andthe manipulation input is touching the sharing button 74 (Yes in STEPS410), the CPU 11 proceeds to the process of STEP S704. Meanwhile, in acase where the manipulation input is touching the print button, that is,a case where a print instruction input is received by the print button(No in STEP S410), in STEP S412, the CPU 11 instructs the device 30 toprint the scan data received from the device 30. Therefore, in the casewhere only the present application 14 b has been found by the searching,that is, a case where it is impossible to provide the data to anotherapplication, the user can input a print instruction, and thus theusability is high. In a case where the print button has been touched, itis possible to generate a print preview image based on the current printoptions (for example, an option on a print layout, and an option on apaper size), display the print preview image on the LCD 18, and make theuser to confirm whether to perform print based on the current printoptions.

In a case where the display flag of the sharing button 74 is in the OFFstate according to the advance supporting-application search process(STEP S702), in the process of STEP S703, the CPU 11 makes the LCD 18display the scan-result confirmation screen 70, without the sharingbutton 74 or with the sharing button 74 grayed out. In other words, aninput of an instruction to perform the sharing function is restricted.Therefore, it is possible to prevent the user from inputting aninstruction to perform the sharing function even though it is impossibleto perform the sharing function since there is no application satisfyingthe criteria for the sharing destination application 64, and thus theusability is high.

Further, in the scan process of the third embodiment, in a case wherethere are JPEG supporting applications and PDF supporting applicationsfound (‘JPEG/PDF’ in STEP S704), in STEP S706, the CPU 11 makes the LCD18 display not only the format selection screen 77 (FIG. 3) but also thesupporting application search result in the advancesupporting-application search process (STEP S702). Specifically, the CPU11 generates data for making the LCD 18 display a list of JPEGsupporting applications found by the advance supporting-applicationsearch process (STEP S702), and a list of found PDF supportingapplications, designates that data, calls the API of the OS 14 a, andmakes the LCD 18 display the supporting application search result.

In other words, before the user selects any one of the JPEG format andthe PDF format, the CPU 11 makes the LCD 18 display the list ofapplications searched for by the advance supporting-application searchprocess (STEP S702). In this case, the user can select any one formatwith reference to the list of selectable applications. In the presentembodiment, format selection screen 77 and the supporting applicationsearch result are simultaneously displayed on the LCD 18. However, forexample, after the supporting application search result is displayed,the supporting application search result display screen may transitionto the format selection screen 77.

In a case where only JPEG supporting applications have been found andany PDF supporting application has not been found by the advancesupporting-application search process (STEP S702) (‘ONLY JPEG’ in STEPS704), the CPU 11 proceeds to the process of STEP S418 in which the CPU11 generates JPEG data, and then the CPU 11 performs the same subsequentprocesses as those in the first embodiment.

Meanwhile, in a case where only PDF supporting applications have beenfound and any JPEG supporting application has not been found by theadvance supporting-application search process (STEP S702) (‘ONLY PDF’ inSTEP S704), the CPU 11 proceeds to the process of STEP S430 in which theCPU 11 generates PDF data, and then the CPU 11 performs the samesubsequent processes as those in the first embodiment.

In other words, in a case where only JPEG supporting applications or PDFsupporting applications supporting one format has been found, displayingof the format selection screen 77 is skipped, so as to prohibitselection of the other format. Therefore, it is possible to prevent theuser from selecting the other format incapable of being processed inanother application, and thus the usability is high.

In the above-mentioned embodiments, the portable terminal 10 is anexample of an information processing apparatus. The device 30 is anexample of an image information source and a print device. The sharingdestination application 64 is an example of an application selected as adata output destination. The CPU 11 which performs the sharing functionaccording the OS 14 a is an example of a data sharing unit.

The CPU 11 is an example of a computer, a data generating unit, anotifying unit, a first search unit, a second search unit, a thirdsearch unit, an input restricting unit, a selection restricting unit, adetermining unit, and a process-object-data generating means. The LCD 18is an example of a display unit. The touch panel 17 is an example of areceiving unit. The type is an example of format information, and theaction is an example of use information. The JPEG supporting applicationis an example of a first kind of application, and the PDF supportingapplication is a second kind of application. The wireless LANtransceiver 15 is an example of the image information source and aninstructing unit. However, each of the data generating unit, thenotifying unit, the first search unit, the second search unit, the thirdsearch unit, the input restricting unit, the selection restricting unit,the determining unit, the instructing unit, the receiving unit, and thedisplay unit may be a single piece of hardware, or hardware whichoperates by executing the programs according to the present disclosureor programs such as an operating system other than the programs of thepresent disclosure. Each of those units may be software which isexecuted by a combination of processes according to a plurality ofprograms.

Although the aspect of the present disclosure has been described basedon the embodiments, it is easily inferable that the present invention isnot limited to the above-mentioned embodiments, but may be variouslymodified for improvement without departing from the scope of theinvention.

For example, in the above-mentioned embodiments, the portable terminal10 having a call function is an example of the information processingapparatus. However, examples of the information processing apparatus mayinclude various apparatuses without a call function, such as a personalcomputer and a digital camera. Further, the present invention isapplicable to apparatuses which include hard keys for manipulationinput, without the touch panel 17.

In the above-mentioned embodiments, an example of a first format is theJPEG format, and an example of a second format is the PDF format.However, the present invention is not limited thereto. For example,various formats such as PNG, GIF, and BMP may be an example of the firstformat. Also, various formats such as DOC and XLS may be an example ofthe second format.

In the above-mentioned embodiments, the JPEG data and the PDF data isstored in the memory card 20 installable and removable with respect tothe portable terminal 10. However, those data may be stored in the flashmemory 104 built in the portable terminal 10.

In the above-mentioned embodiments, the scan data has been described asan example of image data. However, the image data is not limited theretobut may be, for example, image data acquired by imaging of a digitalcamera built in the portable terminal 10. In this case, the digitalcamera is an example of the image information source. Also, datagenerated by reducing or enlarging the scan data in accordance with thesize of the scan image 71 to be displayed on the LCD 18 may be anexample of the image data. Further, in the portable terminal 10, in acase of converting the scan data into a predetermined format fordisplaying the scan image 71 on the LCD 18, the converted data havingthe predetermined format may be an example of the image data.

In the above-mentioned embodiments, a case where the scan data is theraw image data has been described. However, even in a case where JPEGdata is acquired as the scan data from the device 30, the presentinvention can be applied.

In the above-mentioned embodiments, the generation is converting theimage data acquired from the device 30 into a file having a selectedformat. In this case, the URI of the shared data is composed of a filepath. However, the generation may be converting the image data acquiredfrom the device 30 into contents having a process object format. In thiscase, the URI of the shared data may be configured in a format (contentsformat) that specifies the data by an index and ID of an application,like ‘Contents:///devicecontrol1/attach/1’.

In the above-mentioned embodiments, in a case where the shared data isPDF data, and in a case where the shared data is a single JPEG dataitem, ‘VIEW’ is designated as the action value. However, other actionssuch as ‘SEND’ may be designated. In the case where the shared data isPDF data and the case where the shared data is a single JPEG data item,different action values may be designated. For example, in the casewhere the shared data is PDF data, ‘VIEW’ may be designated, and in thecase where the shared data is a single JPEG data item, ‘SEND’ may bedesignated.

In the above-mentioned embodiments, a case where the OS 14 a is anupload OS has been described. However, the present invention is alsoapplicable to an information processing apparatus having another OSinstalled therein.

In the above-mentioned embodiments, the sharing function is implementedby the OS 14 a. However, the present invention is also applicable to acase where the sharing function is implemented by hardware ormiddleware.

In the above-mentioned embodiments, the portable terminal 10 and thedevice 30 make a Wi-Fi connection. However, the present invention isalso applicable to a case where the portable terminal 10 and the device30 are connected by Bluetooth (registered as a trademark).

In the above-mentioned embodiments, in a case where the user touches thesharing button 74, the format selection screen 77 is displayed on theLCD 18. However, after the user selects a format from the formatselection screen 77, the sharing button 74 may be displayed on the LCD18 such that an instruction to perform the sharing function isacceptable. Alternatively, after the format selection screen 77 isdisplayed on the LCD 18 and the user selects a format, the device 30 maybe instructed to perform scan.

In a case where only JPEG supporting applications have been found andany PDF supporting application has not been found by the advancesupporting-application search process (STEP S702) (‘ONLY JPEG’ in STEPS704), or in a case where only PDF supporting applications have beenfound and any JPEG supporting application has not been found by theadvance supporting-application search process (‘ONLY PDF’ in STEP S704),that is, in a case where only supporting applications supporting oneformat has been found, the CPU 11 may gray out the format selectionscreen 77 (FIG. 3) and then make the LCD 18 display the supportingapplication search result of the advance supporting-application searchprocess (STEP S702), thereby restricting a selection of the otherformat.

In the above-mentioned embodiments, the names 82 of the applicationsincluded in the sharing-destination-application list screen 81 (FIG. 3)correspond to examples of identification images for identifying theapplications. However, the identification images of the applications maybe icon images of the applications.

In the above-mentioned embodiments, the explicit sharing function of theportable terminal 10 is used. However, the present invention is alsoapplicable to a case of using the implicit sharing function. That is, asdescribed above with reference to FIG. 2A, in the implicit sharingfunction, after the sharing-destination-application list screen 81 isdisplayed, the sharing source application 60 is not involved in theselection of the sharing destination application 64 (see (5) of FIG. 2A)and the activation of the sharing destination application 64 (see (6) ofFIG. 2A). Therefore, if the sharing-destination-application list screen81 is displayed before the generation of the data is completed, the usermay select the sharing destination application 64 from thesharing-destination-application list screen 81 before the generation ofthe data, such that the sharing destination application 64 is activatedby the OS 14 a, so as to start to access the shared data. In this case,since the sharing destination application 64 cannot access the shareddata notified from the OS 14 a, the user should cope with a standby timeor error of unknown cause, and thus it is possible to make the userinconvenient. Therefore, according to the present invention, asdescribed in the above-mentioned embodiments, since thesharing-destination-application list screen 81 is displayed after theprocess object data is generated, even in a case of using the implicitsharing function of the OS 14 a, the above-mentioned problem is solved.

In the above-mentioned embodiments, the present application 14 b cangenerate data in two kinds of formats. However, the present invention isalso applicable to a program which can generate data in three or moreformats. In this case, among the three or more kinds of formats capableof being generated by that program, two arbitrary kinds correspond toexamples of the first format and the second format, respectively.

The data for displaying the sharing-destination-application list screen81 on the application-information display means may be generated by theOS 14 a as in the output-destination-candidate display process of STEPS518 (FIG. 5) of the first embodiment, or may be generated by thepresent application 14 b as in the output-destination-candidate displayprocess of STEP S604 (FIG. 6) of the second embodiment.

Similarly, each of the first search control means, the second searchcontrol means, and the third search control means may call the API, andmake the OS 14 a search the applications, or may make the presentapplication 14 b search the applications.

An embodiment which is an appropriate combination of the features of theabove-mentioned first to third embodiments may be used.

What is claimed is:
 1. A non-transitory computer-readable storage medium storing computer-readable instructions executable by a processor of an information processing apparatus comprising a display and a communication interface, wherein the instructions, when executed by the processor, cause the information processing apparatus to execute: receiving designation of a format type corresponding to whether an image is to be generated in a first format or in a second format; receiving designation for an image reading device to read an image; receiving read data from the image reading device through the communication interface; receiving designation for the information processing apparatus to share image data based on the read data, wherein the image data is formatted in the designated format type; and displaying, on the display, an identification image for identifying an application according to the designation for the information processing apparatus to share the image data, wherein the displaying includes: displaying a first identification image for identifying an application that enables to process image data of the first format in a case where the first format is designated in the designation of the format type, and displaying a second identification image for identifying an application that enables to process image data of the second format in a case where the second format is designated in the designation of the format type.
 2. The non-transitory computer-readable storage medium according to claim 1, wherein after receiving a selection of the identification image, the instructions causes the information processing apparatus to execute sharing the image data with an application corresponding to the selected identification image.
 3. The non-transitory computer-readable storage medium according to claim 1, wherein, the displaying includes displaying plural identification images in a case where there is a plurality of applications capable of processing image data of the designated format type.
 4. The non-transitory computer-readable storage medium according to claim 1, wherein the instructions further causes the information processing apparatus to execute displaying a preview image based on the receiving of the read data.
 5. The non-transitory computer-readable storage medium according to claim 1, wherein the first format is a JPEG format, and the second format is a PDF format.
 6. The non-transitory computer-readable storage medium according to claim 1, wherein the read data is JPEG data or raw image data generated by a scanner which is the image reading device.
 7. The non-transitory computer-readable storage medium according to claim 1, wherein the display includes an LCD.
 8. The non-transitory computer-readable storage medium according to claim 1, wherein each of the first identification image and the second identification image includes a character string.
 9. The non-transitory computer-readable storage medium according to claim 1, wherein the instructions further causes the information processing apparatus to execute the receiving of the format type after executing the receiving of the designation for the information processing to share the image data.
 10. An information processing apparatus comprising: a display; a communication interface; a processor; and a memory storing instructions that, when executed by the processor, cause the processor to: receive designation of a format type corresponding to whether an image is to be generated in a first format or in a second format; receive designation for an image reading device to read an image; receive read data from the image reading device through the communication interface; receive designation for the information processing apparatus to share image data based on the read data, wherein the image data is formatted in the designated format type; and display, on the display, an identification image for identifying an application according to the designation for the information processing apparatus to share the image data, wherein the displaying includes: displaying a first identification image for identifying an application that enables to process image data of the first format in a case the first format is designated in the designation of the format type, and displaying a second identification image for identifying an application that enables to process image data of the second format in a case where the second format is designated in the designation of the format type.
 11. An information processing method which is performed in an information processing apparatus including a display and a communication interface, the information processing method comprising the steps of: receiving designation of a format type corresponding to whether an image is to be generated in a first format or in a second format; receiving designation for an image reading device to read an image; receiving read data from the image reading device through the communication interface; receiving designation for the information processing apparatus to share image data based on the read data, wherein the image data is formatted in the designated format type; and displaying, on the display, an identification image for identifying an application according to the designation for the information processing apparatus to share the image data, wherein the displaying includes: displaying a first identification image for identifying an application that enables to process image data of the first format in a case where the first format is designated in the designation of the format type, and displaying a second identification image for identifying an application that enables to process image data of the second format in a case where the second format is designated in the designation of the format type. 